@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo.
echo ════════════════════════════════════════════
echo   修复地图跳转问题 - 编译并安装
echo ════════════════════════════════════════════
echo.

echo 📝 问题描述：
echo    点击"设置为模拟位置"后，地图会跳回当前位置
echo.
echo 🔧 修复方案：
echo    1. 添加 userInteracted 标志，记录用户是否交互过地图
echo    2. 只在用户未交互时才自动移动地图
echo    3. 添加"回到当前位置"按钮，方便查看标记位置
echo.

echo ════════════════════════════════════════════
echo [1/4] 检查设备连接...
echo ════════════════════════════════════════════
adb devices
echo.

echo ════════════════════════════════════════════
echo [2/4] 编译项目...
echo ════════════════════════════════════════════
call gradlew.bat assembleDebug
if errorlevel 1 (
    echo.
    echo ❌ 编译失败！
    pause
    exit /b 1
)
echo.

echo ════════════════════════════════════════════
echo [3/4] 安装应用...
echo ════════════════════════════════════════════
adb install -r app\build\outputs\apk\debug\app-debug.apk
if errorlevel 1 (
    echo.
    echo ❌ 安装失败！
    pause
    exit /b 1
)
echo.

echo ════════════════════════════════════════════
echo [4/4] 启动应用...
echo ════════════════════════════════════════════
adb shell am start -n com.example.munidingwei/.MainActivity
echo.

echo.
echo ✅ 修复完成！
echo.
echo ════════════════════════════════════════════
echo   修复说明
echo ════════════════════════════════════════════
echo.
echo 📱 现在的行为：
echo.
echo    ✅ 拖动地图选择位置时，地图不会跳回
echo    ✅ 点击"设置为模拟位置"后，地图保持在选择的位置
echo    ✅ 右上角会显示一个"定位"按钮，点击可回到当前位置
echo    ✅ 点击地图任意位置，也不会自动跳转
echo.
echo 🎯 测试步骤：
echo.
echo    1. 打开应用
echo    2. 拖动地图到你想要的位置
echo    3. 点击"设置为模拟位置"按钮
echo    4. 地图应该保持在你选择的位置（不会跳转）
echo    5. 点击右上角的"定位"按钮，可以查看当前位置标记
echo.
echo 💡 提示：
echo.
echo    - 首次打开应用时，地图会自动定位到当前位置
echo    - 一旦你拖动或点击地图，地图就不会再自动跟随位置
echo    - "回到当前位置"按钮只在你交互过地图后显示
echo.

pause

